home *** CD-ROM | disk | FTP | other *** search
- Subject: v17i034: MGR, Bellcore window manager, Part33/61
- Newsgroups: comp.sources.unix
- Approved: rsalz@uunet.UU.NET
-
- Submitted-by: Stephen A. Uhler <sau@bellcore.com>
- Posting-number: Volume 17, Issue 34
- Archive-name: mgr/part33
-
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 33 (of 61)."
- # Contents: font-16/Uoldeng22x30rI font-32/Uoldeng22x30rI src/cut.c
- # src/win_stack.c
- # Wrapped by rsalz@papaya.bbn.com on Thu Nov 17 21:05:41 1988
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'font-16/Uoldeng22x30rI' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'font-16/Uoldeng22x30rI'\"
- else
- echo shar: Extracting \"'font-16/Uoldeng22x30rI'\" \(10460 characters\)
- sed "s/^X//" >'font-16/Uoldeng22x30rI' <<'END_OF_FILE'
- Xbegin 644 oldeng22x30rI.fnt
- XM%A8>"%L@ #______________________?_________________________
- XM____________________________________________________________
- XM__________PO_'/S__N_8 /_',.^.=W_^[_'(?^;__\<S_'(?\<A__^[?A_N
- XM_]Y_PW/__>?\-Q__ __@?O\[G_W<__/Y\_G]WQW/^___________________
- XM___?______[______________\______]__________]___W____________
- XM_________________________________________\ #____________
- XM_________^/_________________________________________________
- XM______________________________________________@'^ ?!_W0_ '^
- XM 8 \ X'_=#^ 0-]-__X!G^ 0/X! W_\:+ _ _QP_@4%_\</X5(_^ /_ /X:
- XM"_C07^&@@?#\'@V%^/_O__________________^_______S______W______
- XM_P?_____K__________K___O____________________________________
- XM_________________\ #_____________________\'_____________
- XM______________________________________]_____________________
- XM______________________ 3^ \Q_N _ #^ P \!P'^X#^ F#Y&__X#'^ N
- XM&X"8/_R)& ^ _#H? 3C_PZ'P$\?]^'> /^)Q_!./_B8..QX/ U#^ /____
- XM______________]?______C______[_______,/_____C__________C__^/
- XM____________________________]_______?__]_____________\ #
- XM_____________________^'________________________________\__\W
- XM__^?__Y___Q__P!__WW_^_/__/__\_____________________________?#
- XM^YSQ_-A_FOA^YOQ]SF/\V'^Y'G_$__[G'^Y?![D>?_F#&\=A^(</<'C_B'#W
- XM!\?[_ ^X ?^+Q_P>/_@XN/QX?8SC_ ?__________________\/______C_
- XM_____Y______^./_____C__________C__^/________________________
- XM____[______^___[_____________\ #______________________7_
- XM_______________________________X+_X/__\%__P7__Q__P!__@'_\ ?_
- XM^"__X+____________________________^C_\GQ^9W_\OQ_^?__]'?YGO_^
- XM'O_B___]'_^?C_X>_^6+'\?W\Q>/\7C_,7C_%\?[_Q_[]_^+Q_Q>/_BXN/XW
- XM_XWC_P ___________________\'______C______P______^/______C___
- XM_______C__^/____________________________C______\___S________
- XM_____\ #______________________O_________________________
- XM______^$'_T?__"#_\(/__C__@#_^ /_X ?_A!_^$'__________________
- XM__________BQ_S'Q\QW_XOQ_Y?__S'?S'?_Y'__B___S'_Y?W_D>_\6+'\/W
- XM\Q?'\7C_,7Q_%\?Y_[_W=_^+Q_Q>/_BXN/XW_XWC__]_________________
- XM__^/______C______X?_____^/______C__________C__^/____________
- XM________________C______Y___G_____________\ #____________
- XM__________?_______________________________^/'_\?__'C_\>/__C_
- XM_O__^(?__ __CQ_^/'____________________________!Q_C'Q\QW_XOQ_
- XMQ?__C'?S&__Q'__B___C'_Q?__$>_\6+'\/WXQ?'\7C^,7Q_%\?P/__F=_^+
- XMQ_Q>/_BXN/\/_XWC__]____________________?______C______\/_____
- XM^/______C___O__^___C__^/____________________________C______Y
- XM___G_____________\ #____________________________________
- XM__________________^/'_\?__'C_\>/__G__O__^/___]__CQ_^/'______
- XM______________________!X_C%SYQW_XGA_Q?__C'?G%__Q%W_B___C'_Q>
- XM/_$>_\6+']'WYQ?C\7C^<7X_%\?D!\?,=_^+Q_Q>/_BXN/\/_XWC__[_____
- XM______________________C______^'_____^/______C___'__\?__C__^/
- XM____________________________C______Q___'_____________\ #
- XM______________________________________________________^/'_\?
- XM__'C_\>/__'__O__^/___]__CQ_^/'_]___W______________________]X
- XM_#%GYQW_PH1_A8__# ?G#__A%#_"___#'_A9'^$>_X0('Y'WQQ?CX0#\<7X^
- XM%X_F "/,=_\(!_A /_BXN/P!_PP#__W___________________________C_
- XM______#_____^/______C___O__^___C__^/________________________
- XM____C______Q___'_____________\ #________________________
- XM______________________________^/'_\?__/C_\^/__+__O__^/___[__
- XMCQ_^/'_X___C______________________[X^#$3QQW_@OQ_!07^# ?' ?_!
- XM$C^"__^#'_!''\$>_P0('QCWQQ?CP7C\<7X\%C_CP#><=_X+Q_!>/_" @/P!
- XM_@WC__O___________________________C_______A?____^!______C___
- XM_______C__^/____________________________@?_____Q___'________
- XM_____\ #________________________________________________
- XM______^/'_\?___C__^/_^3__''_^/___W__CQ_^/'_P?__!____________
- XM__________X >#!QQQW_@OQ_! /^# ?'%G_!!C^"__^#'_!?C\$>_P0('Q@'
- XMQQ #P7C\<0 \$!_P^!^<=_X+Q_!>/^"XN/P!_@WC_X#_________________
- XM______[/__B?__Y___0__^?_^!___S__C/__-__\W__CO_^/__]]]_WW__]_
- XM_^[___?__-O__GO_@?__??_X]__CWW_'M_\TW_P??\ #____________
- XM__________________________________________^/'_\?___#__\?_^C_
- XM_ "_^/?__W__@!_^.'_X___C______________________P >#%QQQW_@H1_
- XM!??^# ?'%S_!%C^"__^#'_!?C\$>_P0('P!WQQ?CP7C\<7X\ Q_X&P\<=_X(
- XM!_! /^"XN/^'_@WC_X#_______________________P"__@%__P/_XX__X/_
- XM^#___-O_B%_^#__X/__B'_^/__XPP?C!__P__\!__\/_^ /_^ ?_@__^./_X
- XM0O_A#"^#!_X(/_@ _\ #____________________________________
- XM__________________^/'_\?__\#__X__]C__&!_^(+__G__P#_]!'_]___W
- XM______________________P /C%QQQW_XGA_Q??_C'?'$#_Q$#_B___C'_Q?
- XMG_$>_\6+']QWQQ?C\0#\<7X_!Q_\ \\<=_^+Q_Q>/^" @/]C_XWC_X#_____
- XM__________________Y!__B#_^ /_XX__#/_^/__X\/_AC_]'__\?__AC_^/
- XM__P((_ C_^,7_X8O_C%_]$/_X@__C__^,'_\,?_PPQ^P#_T<?_8!_\ #
- XM____________________________________________!_________^/'_\?
- XM__X#__\7_[C__?A_^''__/__@!__O'____________________________W^
- XM/C$!QQW_XOQ_Q??_C'?'%Q_Q%C_B___C'_Q>/_$>_\6+']XWQQ #\7C\<0 _
- XM%X__ $\<=_^+Q_Q>/_BXN/]C_XP#_]________________________]Q__CC
- XM_^&?_XX__C'_^/__X\?_CC__'__\?__CS_^/__XXX_CC_^./_\<?_CC__&?_
- XMXY__C__^./_\<?_QQQ_QG_\<?__S_\ #________________________
- XM___________________^#_________^/'_\?__S___^/_P ?__Q_^/'__/__
- XMCQ___'____________________________O^/C%QQQW_XOQ_Q??_C'?'%Q_Q
- XM$#_B___C'_Q8/_$>_\6+']XWYQ?G\7C^<7Y_%X__X \<=_^+Q_Q>/_BXN/[Q
- XM_XWC_]________________________\Q__CC_^/__XX__CC_^/__X\?_CC__
- XM'__\?__CG_^/__XXX_CC_^./_\<?_CC__'__X[__C__^./_\<?_QQQ_X__\<
- XM?__/_\ #___________________________________________\'___
- XM______^/'_\?__W___^/__C___Q_^/'_^/__CQ___'__________________
- XM__________O_'G$!XSV_XOQ_Q??_C'?G,#_Q%C_B___C'_Q''_$^_\6+']\7
- XMXS?G\7C^,WY_%X__[ ^,]O^+Q_Q>/_BXN/[Q_XWC_[__________________
- XM______Y1__CC_^/__XX__CG_^/__X\?_CC__'__\?__B'_^/__XXX_CC_^./
- XM_\<?_CC__'__X!__C__^./_\<?_QQQ_X__\<?_^__\ #____________
- XM__________________________________________^/'_\?__O___^/__C_
- XM__Q_^/'_^?__CQ___'____________________________?_'N-QXWV_YOQ_
- XMS??_G'?C=S_S-C_B___G'_S?'_-^_\6+']\7\_?/\7C_/WS_%\?_[D^-]O^+
- XMQ_Q>/_BXN/WX_XWC_W________________________QQ__CC_^/__XX__B?_
- XM^/__X\?_CC__'__\?__A'_^/__XXX_CC_^./_\<?_CC__'__^ ?_C__^./_\
- XM<?_QQQ_\?_\<?_P/_\ #____________________________________
- XM____W______]______^/'_\?__O___^/__C___Q_^/'_\?__CQ___'_]___W
- XM_____________________^/OC\]Q\/T_Z/Q_P/?_G'?S]G_Q=G_F__^/'_P>
- XMC_ ^_\6+'X^'\_?/\7C_/WS_#\?_WL_#]/^#Q_Q>/_@XN/CX_XWC_O______
- XM__________________QQ__CC_^/__XX__A__^/__X\?_CC__'__\?__C'_^/
- XM__XXX_CC_^./_\<?_CC__'___<?_C__^./_\<?_QQQ_\?_\<?_[__\ #
- XM________________________________________C______X______^/'_\?
- XM__L'__"/__C__P1_^/'_\/__CQ__A'_X___C_____________________X#?
- XMCP-Q\O!_X#Q_@!=^!'?S]'_@<G\N__X''_@-C^ &WPV+'D.'^/<?P7C_CW'^
- XM T?X ]_+P?^ Q_Q^/_@8N. T;XWC_@?[______________________QQ__CC
- XM_^/__XX__C__^/__X\?_CC__'__\?__CB_^/__XXX_CC_^./_\<?_CC__'__
- XM^<?_C__^./_\<?_QQQ_&/_\<?_[__\ #________________________
- XM________________!______P?_____^"'_\7__8"_^ /__B__@!_^"'_\)__
- XM@A__ '_P?__!_____________________P _C@!Q^ #_P A_ #\ '?X\/_
- XM!OX.__P#/_ #Q< /@V+'0#'_#0_@1#_PD/\ .+P #_@ _\ !?P /_ ( , ,
- XM7XWC_ '______________________X@__1C_]'?_T8__@[_]&__X,?_!C__
- XM'__\?__1A_]%__P08?!A_]&/_X,?_1C__&__\$?_1?_^,'_\<?_QQQ^ -_\<
- XM?_P#?\ #________________________________________A______X
- XM______]!__X/__ !_\ ___!__ '_]!__^'__0?_^ ?_X___A____________
- XM_________AQ_S#@/_ '_AP/^'P'X8/?\<_^OP!__AA?^''PX? ? -'B#C'
- XM_Q#_@0__\8_X<>'F '_P!_X<(_X?_^&$/X<>/W '^ /________________
- XM______\9__X?__@__^'__P'__A__P ?_CG__C__^/__XC__C__XXX_CC__A_
- XM_P#__X#_^A__X!__X__\"/_Z#__H"/\!#_\ ?_@ _\ #____________
- XM____________________________U______]_______S__^?__'[_]]___S_
- XM_/O__S___?__\__^^__]___U_____________________/[_Z?X__PW_/\?\
- XM_^/S^??_#_\_G?W#__/X_\_OYS_X_<?OT?WG_\/_L3___!_S^_//8/_\-_S_
- XM=_^__\_N_S^_?GX/\_@?______________________^[__]___S___?__\?_
- XM_W___,O_WO__W___/__]W__W__]]]_WW__W__T/__]C__S___G__]___/?__
- XM/__\<_]SG_^?___!_\ #____________________________________
- XM____[______________________________________________________[
- XM_____________________/__^?____W_/__\___S__?___\__?W___/__\__
- XM_S___?__\?______\7___]_S___??___]_S______\___S___G__________
- XM_________________________________________^/__O______'_______
- XM_____________\?___C___________________________]______\ #
- XM________________________________________W___________________
- XM___________________________________W_____________________?__
- XM^_____W_?__]___W__?___]__OY___?__]___W___?__\_______\7___]_W
- XM___>____]_W______]___W___G__________________________________
- XM_________________^/__W______'____________________\?___C_____
- XM______________________]X_____\ #________________________
- XM____________________________________________________________
- XM_________________________________?__^_____W_?__]___W__?___]_
- XM_G^?__?__]___W___O__]_______\7___\_W___N____]_W______]___W__
- XM_GX/__________________________________________________/__S__
- XM____G____________________\?___C___________________________]P
- XM?____\ #________________________________________________
- XM____________________________________________________________
- XM_________?__^_____W_?__]___W__?___]__C____?__]___W___O__]___
- XM____\7___\]W___Q____]_W______]___W___P '____________________
- XM____________________________Y_/__Q______G___________________
- XM_\?___C___________________________\ ?____\ #____________
- XM____________________________________________________________
- XM_____________________________________________?__^_____W_?__]
- XM_]_W__?___]__C____?__]___W_W_S__]_______\7___\=W________]_W_
- XM_____]___W___P #____________________________________________
- XM____R>?__Q_____X/____________________\?___A_________________
- XM__________\'?____\ #____________________________________
- XM____________________________________________________________
- XM_____________________O___?____G_O__^_S_[_^?___^__#____O__^__
- XM_[_/_\?_^_______\?___^#[________Y_[______^___[___X'[________
- XM________________________________________TH___A_____P?_______
- XM_____________\____C___________________________^/?____\ #
- XM____________________________________________________________
- XM_________________________________________________________S__
- XM_F____'_S___//_\_\?____/_'____S___/__\\______/______\O____#\
- XM________Q_\_______/__\_____[________________________________
- XM_________________1___C_____P_____________________]____G_____
- XM________________________?____\ #________________________
- XM____________________________________________________________
- XM_________________________________\___Y____O_\___P___/^_____S
- XM_/____\___S___#______S______]_____G_/_______[__/______S___/_
- XM_____________________________________________________G___G__
- XM___V_____________________[____O____________________________\
- X&_____\
- X
- Xend
- END_OF_FILE
- # end of 'font-16/Uoldeng22x30rI'
- fi
- if test -f 'font-32/Uoldeng22x30rI' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'font-32/Uoldeng22x30rI'\"
- else
- echo shar: Extracting \"'font-32/Uoldeng22x30rI'\" \(10460 characters\)
- sed "s/^X//" >'font-32/Uoldeng22x30rI' <<'END_OF_FILE'
- Xbegin 644 oldeng22x30rI.fnt
- XM&!8>"%L@ #______________________?_________________________
- XM____________________________________________________________
- XM__________PO_'/S__N_8 /_',.^.=W_^[_'(?^;__\<S_'(?\<A__^[?A_N
- XM_]Y_PW/__>?\-Q__ __@?O\[G_W<__/Y\_G]WQW/^___________________
- XM___?______[______________\______]__________]___W____________
- XM_________________________________________\ #____________
- XM_________^/_________________________________________________
- XM______________________________________________@'^ ?!_W0_ '^
- XM 8 \ X'_=#^ 0-]-__X!G^ 0/X! W_\:+ _ _QP_@4%_\</X5(_^ /_ /X:
- XM"_C07^&@@?#\'@V%^/_O__________________^_______S______W______
- XM_P?_____K__________K___O____________________________________
- XM_________________\ #_____________________\'_____________
- XM______________________________________]_____________________
- XM______________________ 3^ \Q_N _ #^ P \!P'^X#^ F#Y&__X#'^ N
- XM&X"8/_R)& ^ _#H? 3C_PZ'P$\?]^'> /^)Q_!./_B8..QX/ U#^ /____
- XM______________]?______C______[_______,/_____C__________C__^/
- XM____________________________]_______?__]_____________\ #
- XM_____________________^'________________________________\__\W
- XM__^?__Y___Q__P!__WW_^_/__/__\_____________________________?#
- XM^YSQ_-A_FOA^YOQ]SF/\V'^Y'G_$__[G'^Y?![D>?_F#&\=A^(</<'C_B'#W
- XM!\?[_ ^X ?^+Q_P>/_@XN/QX?8SC_ ?__________________\/______C_
- XM_____Y______^./_____C__________C__^/________________________
- XM____[______^___[_____________\ #______________________7_
- XM_______________________________X+_X/__\%__P7__Q__P!__@'_\ ?_
- XM^"__X+____________________________^C_\GQ^9W_\OQ_^?__]'?YGO_^
- XM'O_B___]'_^?C_X>_^6+'\?W\Q>/\7C_,7C_%\?[_Q_[]_^+Q_Q>/_BXN/XW
- XM_XWC_P ___________________\'______C______P______^/______C___
- XM_______C__^/____________________________C______\___S________
- XM_____\ #______________________O_________________________
- XM______^$'_T?__"#_\(/__C__@#_^ /_X ?_A!_^$'__________________
- XM__________BQ_S'Q\QW_XOQ_Y?__S'?S'?_Y'__B___S'_Y?W_D>_\6+'\/W
- XM\Q?'\7C_,7Q_%\?Y_[_W=_^+Q_Q>/_BXN/XW_XWC__]_________________
- XM__^/______C______X?_____^/______C__________C__^/____________
- XM________________C______Y___G_____________\ #____________
- XM__________?_______________________________^/'_\?__'C_\>/__C_
- XM_O__^(?__ __CQ_^/'____________________________!Q_C'Q\QW_XOQ_
- XMQ?__C'?S&__Q'__B___C'_Q?__$>_\6+'\/WXQ?'\7C^,7Q_%\?P/__F=_^+
- XMQ_Q>/_BXN/\/_XWC__]____________________?______C______\/_____
- XM^/______C___O__^___C__^/____________________________C______Y
- XM___G_____________\ #____________________________________
- XM__________________^/'_\?__'C_\>/__G__O__^/___]__CQ_^/'______
- XM______________________!X_C%SYQW_XGA_Q?__C'?G%__Q%W_B___C'_Q>
- XM/_$>_\6+']'WYQ?C\7C^<7X_%\?D!\?,=_^+Q_Q>/_BXN/\/_XWC__[_____
- XM______________________C______^'_____^/______C___'__\?__C__^/
- XM____________________________C______Q___'_____________\ #
- XM______________________________________________________^/'_\?
- XM__'C_\>/__'__O__^/___]__CQ_^/'_]___W______________________]X
- XM_#%GYQW_PH1_A8__# ?G#__A%#_"___#'_A9'^$>_X0('Y'WQQ?CX0#\<7X^
- XM%X_F "/,=_\(!_A /_BXN/P!_PP#__W___________________________C_
- XM______#_____^/______C___O__^___C__^/________________________
- XM____C______Q___'_____________\ #________________________
- XM______________________________^/'_\?__/C_\^/__+__O__^/___[__
- XMCQ_^/'_X___C______________________[X^#$3QQW_@OQ_!07^# ?' ?_!
- XM$C^"__^#'_!''\$>_P0('QCWQQ?CP7C\<7X\%C_CP#><=_X+Q_!>/_" @/P!
- XM_@WC__O___________________________C_______A?____^!______C___
- XM_______C__^/____________________________@?_____Q___'________
- XM_____\ #________________________________________________
- XM______^/'_\?___C__^/_^3__''_^/___W__CQ_^/'_P?__!____________
- XM__________X >#!QQQW_@OQ_! /^# ?'%G_!!C^"__^#'_!?C\$>_P0('Q@'
- XMQQ #P7C\<0 \$!_P^!^<=_X+Q_!>/^"XN/P!_@WC_X#_________________
- XM______[/__B?__Y___0__^?_^!___S__C/__-__\W__CO_^/__]]]_WW__]_
- XM_^[___?__-O__GO_@?__??_X]__CWW_'M_\TW_P??\ #____________
- XM__________________________________________^/'_\?___#__\?_^C_
- XM_ "_^/?__W__@!_^.'_X___C______________________P >#%QQQW_@H1_
- XM!??^# ?'%S_!%C^"__^#'_!?C\$>_P0('P!WQQ?CP7C\<7X\ Q_X&P\<=_X(
- XM!_! /^"XN/^'_@WC_X#_______________________P"__@%__P/_XX__X/_
- XM^#___-O_B%_^#__X/__B'_^/__XPP?C!__P__\!__\/_^ /_^ ?_@__^./_X
- XM0O_A#"^#!_X(/_@ _\ #____________________________________
- XM__________________^/'_\?__\#__X__]C__&!_^(+__G__P#_]!'_]___W
- XM______________________P /C%QQQW_XGA_Q??_C'?'$#_Q$#_B___C'_Q?
- XMG_$>_\6+']QWQQ?C\0#\<7X_!Q_\ \\<=_^+Q_Q>/^" @/]C_XWC_X#_____
- XM__________________Y!__B#_^ /_XX__#/_^/__X\/_AC_]'__\?__AC_^/
- XM__P((_ C_^,7_X8O_C%_]$/_X@__C__^,'_\,?_PPQ^P#_T<?_8!_\ #
- XM____________________________________________!_________^/'_\?
- XM__X#__\7_[C__?A_^''__/__@!__O'____________________________W^
- XM/C$!QQW_XOQ_Q??_C'?'%Q_Q%C_B___C'_Q>/_$>_\6+']XWQQ #\7C\<0 _
- XM%X__ $\<=_^+Q_Q>/_BXN/]C_XP#_]________________________]Q__CC
- XM_^&?_XX__C'_^/__X\?_CC__'__\?__CS_^/__XXX_CC_^./_\<?_CC__&?_
- XMXY__C__^./_\<?_QQQ_QG_\<?__S_\ #________________________
- XM___________________^#_________^/'_\?__S___^/_P ?__Q_^/'__/__
- XMCQ___'____________________________O^/C%QQQW_XOQ_Q??_C'?'%Q_Q
- XM$#_B___C'_Q8/_$>_\6+']XWYQ?G\7C^<7Y_%X__X \<=_^+Q_Q>/_BXN/[Q
- XM_XWC_]________________________\Q__CC_^/__XX__CC_^/__X\?_CC__
- XM'__\?__CG_^/__XXX_CC_^./_\<?_CC__'__X[__C__^./_\<?_QQQ_X__\<
- XM?__/_\ #___________________________________________\'___
- XM______^/'_\?__W___^/__C___Q_^/'_^/__CQ___'__________________
- XM__________O_'G$!XSV_XOQ_Q??_C'?G,#_Q%C_B___C'_Q''_$^_\6+']\7
- XMXS?G\7C^,WY_%X__[ ^,]O^+Q_Q>/_BXN/[Q_XWC_[__________________
- XM______Y1__CC_^/__XX__CG_^/__X\?_CC__'__\?__B'_^/__XXX_CC_^./
- XM_\<?_CC__'__X!__C__^./_\<?_QQQ_X__\<?_^__\ #____________
- XM__________________________________________^/'_\?__O___^/__C_
- XM__Q_^/'_^?__CQ___'____________________________?_'N-QXWV_YOQ_
- XMS??_G'?C=S_S-C_B___G'_S?'_-^_\6+']\7\_?/\7C_/WS_%\?_[D^-]O^+
- XMQ_Q>/_BXN/WX_XWC_W________________________QQ__CC_^/__XX__B?_
- XM^/__X\?_CC__'__\?__A'_^/__XXX_CC_^./_\<?_CC__'__^ ?_C__^./_\
- XM<?_QQQ_\?_\<?_P/_\ #____________________________________
- XM____W______]______^/'_\?__O___^/__C___Q_^/'_\?__CQ___'_]___W
- XM_____________________^/OC\]Q\/T_Z/Q_P/?_G'?S]G_Q=G_F__^/'_P>
- XMC_ ^_\6+'X^'\_?/\7C_/WS_#\?_WL_#]/^#Q_Q>/_@XN/CX_XWC_O______
- XM__________________QQ__CC_^/__XX__A__^/__X\?_CC__'__\?__C'_^/
- XM__XXX_CC_^./_\<?_CC__'___<?_C__^./_\<?_QQQ_\?_\<?_[__\ #
- XM________________________________________C______X______^/'_\?
- XM__L'__"/__C__P1_^/'_\/__CQ__A'_X___C_____________________X#?
- XMCP-Q\O!_X#Q_@!=^!'?S]'_@<G\N__X''_@-C^ &WPV+'D.'^/<?P7C_CW'^
- XM T?X ]_+P?^ Q_Q^/_@8N. T;XWC_@?[______________________QQ__CC
- XM_^/__XX__C__^/__X\?_CC__'__\?__CB_^/__XXX_CC_^./_\<?_CC__'__
- XM^<?_C__^./_\<?_QQQ_&/_\<?_[__\ #________________________
- XM________________!______P?_____^"'_\7__8"_^ /__B__@!_^"'_\)__
- XM@A__ '_P?__!_____________________P _C@!Q^ #_P A_ #\ '?X\/_
- XM!OX.__P#/_ #Q< /@V+'0#'_#0_@1#_PD/\ .+P #_@ _\ !?P /_ ( , ,
- XM7XWC_ '______________________X@__1C_]'?_T8__@[_]&__X,?_!C__
- XM'__\?__1A_]%__P08?!A_]&/_X,?_1C__&__\$?_1?_^,'_\<?_QQQ^ -_\<
- XM?_P#?\ #________________________________________A______X
- XM______]!__X/__ !_\ ___!__ '_]!__^'__0?_^ ?_X___A____________
- XM_________AQ_S#@/_ '_AP/^'P'X8/?\<_^OP!__AA?^''PX? ? -'B#C'
- XM_Q#_@0__\8_X<>'F '_P!_X<(_X?_^&$/X<>/W '^ /________________
- XM______\9__X?__@__^'__P'__A__P ?_CG__C__^/__XC__C__XXX_CC__A_
- XM_P#__X#_^A__X!__X__\"/_Z#__H"/\!#_\ ?_@ _\ #____________
- XM____________________________U______]_______S__^?__'[_]]___S_
- XM_/O__S___?__\__^^__]___U_____________________/[_Z?X__PW_/\?\
- XM_^/S^??_#_\_G?W#__/X_\_OYS_X_<?OT?WG_\/_L3___!_S^_//8/_\-_S_
- XM=_^__\_N_S^_?GX/\_@?______________________^[__]___S___?__\?_
- XM_W___,O_WO__W___/__]W__W__]]]_WW__W__T/__]C__S___G__]___/?__
- XM/__\<_]SG_^?___!_\ #____________________________________
- XM____[______________________________________________________[
- XM_____________________/__^?____W_/__\___S__?___\__?W___/__\__
- XM_S___?__\?______\7___]_S___??___]_S______\___S___G__________
- XM_________________________________________^/__O______'_______
- XM_____________\?___C___________________________]______\ #
- XM________________________________________W___________________
- XM___________________________________W_____________________?__
- XM^_____W_?__]___W__?___]__OY___?__]___W___?__\_______\7___]_W
- XM___>____]_W______]___W___G__________________________________
- XM_________________^/__W______'____________________\?___C_____
- XM______________________]X_____\ #________________________
- XM____________________________________________________________
- XM_________________________________?__^_____W_?__]___W__?___]_
- XM_G^?__?__]___W___O__]_______\7___\_W___N____]_W______]___W__
- XM_GX/__________________________________________________/__S__
- XM____G____________________\?___C___________________________]P
- XM?____\ #________________________________________________
- XM____________________________________________________________
- XM_________?__^_____W_?__]___W__?___]__C____?__]___W___O__]___
- XM____\7___\]W___Q____]_W______]___W___P '____________________
- XM____________________________Y_/__Q______G___________________
- XM_\?___C___________________________\ ?____\ #____________
- XM____________________________________________________________
- XM_____________________________________________?__^_____W_?__]
- XM_]_W__?___]__C____?__]___W_W_S__]_______\7___\=W________]_W_
- XM_____]___W___P #____________________________________________
- XM____R>?__Q_____X/____________________\?___A_________________
- XM__________\'?____\ #____________________________________
- XM____________________________________________________________
- XM_____________________O___?____G_O__^_S_[_^?___^__#____O__^__
- XM_[_/_\?_^_______\?___^#[________Y_[______^___[___X'[________
- XM________________________________________TH___A_____P?_______
- XM_____________\____C___________________________^/?____\ #
- XM____________________________________________________________
- XM_________________________________________________________S__
- XM_F____'_S___//_\_\?____/_'____S___/__\\______/______\O____#\
- XM________Q_\_______/__\_____[________________________________
- XM_________________1___C_____P_____________________]____G_____
- XM________________________?____\ #________________________
- XM____________________________________________________________
- XM_________________________________\___Y____O_\___P___/^_____S
- XM_/____\___S___#______S______]_____G_/_______[__/______S___/_
- XM_____________________________________________________G___G__
- XM___V_____________________[____O____________________________\
- X&_____\
- X
- Xend
- END_OF_FILE
- # end of 'font-32/Uoldeng22x30rI'
- fi
- if test -f 'src/cut.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/cut.c'\"
- else
- echo shar: Extracting \"'src/cut.c'\" \(10755 characters\)
- sed "s/^X//" >'src/cut.c' <<'END_OF_FILE'
- X/* Copyright (c) 1987 Bellcore
- X * All Rights Reserved
- X * Permission is granted to copy or use this program, EXCEPT that it
- X * may not be sold for profit, the copyright notice must be reproduced
- X * on copies, and credit should be given to Bellcore where it is due.
- X * BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM.
- X */
- X/* $Header: cut.c,v 4.2 88/06/27 11:13:00 bianchi Exp $
- X $Source: /tmp/mgrsrc/src/RCS/cut.c,v $
- X*/
- Xstatic char RCSid_[] = "$Source: /tmp/mgrsrc/src/RCS/cut.c,v $$Revision: 4.2 $";
- X
- X/* cut and paste text */
- X
- X#include <stdio.h>
- X#include "bitmap.h"
- X#include "defs.h"
- X#include "font.h"
- X#include "window.h"
- X#include "event.h"
- X
- X/* stuff global buffer into input stream */
- X
- Xint
- Xpaste()
- X {
- X if (snarf) {
- X do_event(EVENT_PASTE,active,E_MAIN);
- X Write(ACTIVE(to_fd),snarf,strlen(snarf));
- X#ifdef DEBUG
- X dprintf(y)(stderr,"%s: Pasting [%s]\n",ACTIVE(tty), snarf?snarf:"EMPTY");
- X#endif
- X }
- X#ifdef DEBUG
- X else {
- X dprintf(y)(stderr,"%s: Nothing to paste\n",ACTIVE(tty));
- X }
- X#endif
- X }
- X
- X/* cut text from a window, put in global buffer */
- X
- X
- X#define MAXROWS 64 /* greatest char height */
- X#define MAXCOLS 32 /* widest char (bits in u-long) */
- X
- XBITMAP *glyph; /* spot for glyph comparison */
- Xunsigned long data[MAXROWS]; /* bit data for glyph */
- XBITMAP *check; /* other spot for glyph comparison */
- Xunsigned long data2[MAXROWS]; /* bit data for other glyph */
- X
- Xstatic struct entry **table; /* hash table */
- X
- X/* sweep out and cut text */
- X
- Xint
- Xcut()
- X {
- X register int i,j;
- X register WINDOW *win = active; /* window to cut text from */
- X int count; /* # of snarfed chars */
- X int errors = 0; /* number of misses */
- X int cols=1, rows=0; /* rows and cols swept */
- X int col,row; /* starting col and row */
- X int maxcol; /* # of cols in row */
- X int x,y; /* bit position in bitmap */
- X int hcode; /* hash code */
- X int button; /* button from move_mouse */
- X char c; /* matched char */
- X char *pntr; /* current char in line */
- X struct entry *entry; /* current hash table entry */
- X char *line; /* buffer to receive text */
- X char get_match(),*malloc();
- X char *to_tabs(), *fixline();
- X
- X /* return immediately if window is not snarffable */
- X
- X if (W(flags) & W_SNARFABLE ==0)
- X return(0);
- X
- X /* initialize comparison registers */
- X
- X glyph = bit_alloc(32,FSIZE(high),data,1);
- X check = bit_alloc(32,FSIZE(high),data2,1);
- X bit_blit(check,0,0,32,FSIZE(high),BIT_CLR,NULL_DATA,0,0);
- X
- X /* build hash table */
- X
- X if ((table = W(font)->table) == NULL) {
- X#ifdef DEBUG
- X dprintf(C)(stderr,"building cut table\n");
- X#endif
- X table = W(font)->table =
- X (struct entry **) malloc (sizeof (struct entry) * H_SIZE);
- X bzero(table, sizeof(struct entry) * H_SIZE);
- X
- X for(i = FSIZE(start);i<FSIZE(start)+FSIZE(count);i++) {
- X if (W(font)->glyph[i] && i >= ' ') {
- X hcode = get_hash(W(font)->glyph[i],0,0,FSIZE(wide),FSIZE(high),0);
- X enter(hcode,i);
- X }
- X }
- X }
- X
- X /* find cut region */
- X
- X SETMOUSEICON(&mouse_cut);
- X button = move_mouse(screen,mouse,&mousex,&mousey,0);
- X SETMOUSEICON(&mouse_arrow);
- X i = get_text(screen,mouse,mousex,mousey,&cols,&rows,win,E_SWTEXTT);
- X if (i == 0) {
- X do_button(0);
- X return(0);
- X }
- X
- X /* find extent of cut region */
- X
- X col = (mousex-(W(x0)+SUM_BDR+W(text.x)))/FSIZE(wide);
- X maxcol = (W(text.wide) ? W(text.wide) : BIT_WIDE(W(window)))/FSIZE(wide);
- X row = (mousey-(W(y0)+SUM_BDR+W(text.y)))/FSIZE(high);
- X
- X if (W(flags)&W_SNARFLINES) { /* snarf lines only */
- X#ifdef DEBUG
- X dprintf(C)(stderr,"Cutting lines only\n");
- X#endif
- X col = 0;
- X cols = maxcol;
- X }
- X
- X#ifdef DEBUG
- X dprintf(C)(stderr,"Cut got %d,%d %d x %d\n",col,row,cols,rows);
- X#endif
- X
- X /* look up characters */
- X
- X pntr = line = malloc(1+(1+maxcol)*(rows+1)); /* max possible cut */
- X switch(rows) {
- X case 0: /* 1 row */
- X y = W(text.y)+row*FSIZE(high);
- X for(x=W(text.x)+col*FSIZE(wide),i=0;i<cols;i++,x+=FSIZE(wide)) {
- X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high));
- X *pntr++ = c ? c : (errors++,C_NOCHAR);
- X }
- X if (col+cols == maxcol && c==' ')
- X pntr = fixline(line,pntr);
- X break;
- X case 1: /* 2 rows */
- X y = W(text.y)+row*FSIZE(high);
- X for(x=W(text.x)+col*FSIZE(wide),i=0;i<maxcol;i++,x+=FSIZE(wide)) {
- X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high));
- X *pntr++ = c ? c : (errors++,C_NOCHAR);
- X }
- X pntr = fixline(line,pntr);
- X
- X y += FSIZE(high);
- X for(x=W(text.x),i=0;i<col+cols;i++,x+=FSIZE(wide)) {
- X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high));
- X *pntr++ = c ? c : (errors++,C_NOCHAR);
- X }
- X if (col+cols == maxcol && c==' ')
- X pntr = fixline(line,pntr);
- X break;
- X
- X default: /* > 2 rows */
- X y = W(text.y)+row*FSIZE(high);
- X for(x=W(text.x)+col*FSIZE(wide),i=0;i<maxcol;i++,x+=FSIZE(wide)) {
- X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high));
- X *pntr++ = c ? c : (errors++,C_NOCHAR);
- X }
- X pntr = fixline(line,pntr);
- X
- X for(j=0;j<rows-1;j++) {
- X y += FSIZE(high);
- X for(x=W(text.x),i=0;i<maxcol;i++,x+=FSIZE(wide)) {
- X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high));
- X *pntr++ = c ? c : (errors++,C_NOCHAR);
- X }
- X pntr = fixline(line,pntr);
- X }
- X
- X y += FSIZE(high);
- X for(x=W(text.x),i=0;i<col+cols;i++,x+=FSIZE(wide)) {
- X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high));
- X *pntr++ = c ? c : (errors++,C_NOCHAR);
- X }
- X if (col+cols == maxcol && c==' ')
- X pntr = fixline(line,pntr);
- X
- X break;
- X }
- X *pntr = '\0';
- X bit_destroy(check);
- X bit_destroy(glyph);
- X
- X /* put text into snarf buffer */
- X
- X count = pntr-line;
- X#ifdef DEBUG
- X dprintf(C)(stderr,"snarfed %d chars, %d errors\n",count,errors);
- X dprintf(C)(stderr,"snarfed [%s]\n",line);
- X#endif
- X
- X if (!(W(flags)&W_SNARFHARD) && errors > 0 || 2*errors > count) {
- X oops();
- X count = 0;
- X }
- X else {
- X if (W(flags)&W_SNARFTABS)
- X to_tabs(col,line,line);
- X
- X if (snarf && button < BUTTON_SYS) { /* add to cut buffer */
- X char *tmp = malloc(strlen(snarf) + strlen(line) +1);
- X count += strlen(snarf);
- X strcpy(tmp,snarf);
- X strcat(tmp,line);
- X free(snarf);
- X free(line);
- X snarf = tmp;
- X }
- X else if (snarf) { /* replace cut buffer */
- X free(snarf);
- X snarf = line;
- X }
- X else /* new cut buffer */
- X snarf = line;
- X
- X /* send snarf events (if any) */
- X id_message = W(pid);
- X for(win=active;win != (WINDOW *) 0;win=W(next))
- X do_event(EVENT_SNARFED,win,E_MAIN);
- X }
- X do_button(0);
- X return(count);
- X }
- X
- X/* given bitmap, get hash code */
- X
- Xstatic int
- Xget_hash(map,x,y,w,h,how)
- XBITMAP *map;
- Xint x,y,w,h; /* where in map */
- Xint how; /* 0-> normal, 1->inverted */
- X {
- X register unsigned long sum = 0;
- X register int i,j;
- X bit_blit(glyph,0,0,32,h,BIT_CLR,NULL_DATA,0,0);
- X bit_blit(glyph,32-w,0,w,h,how ? BIT_NOT(BIT_SRC) : BIT_SRC,map,x,y);
- X for (j=0;j<h;j++)
- X sum += data[j]*(j+1);
- X return(sum%H_SIZE);
- X }
- X
- X/* enter a glyph into the hash table */
- X
- Xstatic int
- Xenter(item,value)
- Xint item;
- Xunsigned char value;
- X {
- X register struct entry *entry;
- X char *malloc();
- X
- X if (table[item] == (struct entry *) 0) {
- X table[item] = (struct entry *) malloc(sizeof (struct entry));
- X table[item] -> value = value;
- X table[item] -> next = (struct entry *) 0;
- X }
- X else {
- X for(entry = table[item];entry->next;entry = entry -> next);
- X entry -> next = (struct entry *) malloc(sizeof (struct entry));
- X entry -> next -> value = value;
- X entry -> next -> next = (struct entry *) 0;
- X }
- X }
- X
- X/* find a character match in current font */
- X
- Xstatic char
- Xget_match(map,x,y,w,h)
- XBITMAP *map; /* bitmap containing text */
- Xint x,y,w,h; /* position of glyph in "map" */
- X {
- X register struct entry *entry;
- X register WINDOW *win = active;
- X int code; /* hash code */
- X int size = sizeof(long) * h;
- X
- X code = get_hash(map,x,y,w,h,0); /* leaves char in glyph */
- X for(entry=table[code];entry;entry=entry->next) {
- X bit_blit(check,32-w,0,w,h,BIT_SRC,W(font)->glyph[entry->value],0,0);
- X if (bcmp(data,data2,size)==0) {
- X return(entry->value);
- X }
- X }
- X
- X /* try inverse video version */
- X
- X code = get_hash(map,x,y,w,h,1); /* leaves char in glyph */
- X for(entry=table[code];entry;entry=entry->next) {
- X bit_blit(check,32-w,0,w,h,BIT_SRC,W(font)->glyph[entry->value],0,0);
- X if (bcmp(data,data2,size)==0) {
- X return(entry->value);
- X }
- X }
- X return('\0');
- X }
- X
- X/* zap a font hash table */
- X
- Xzap_fhash(fnt)
- Xstruct font *fnt;
- X {
- X register struct entry *entry, *next;
- X register int i;
- X
- X if (fnt->table) {
- X for(i=0;i<H_SIZE;i++)
- X for(entry=table[i];entry;entry=next) {
- X next = entry->next;
- X free(entry);
- X }
- X free(fnt->table);
- X }
- X }
- X
- X/* change trailing white space into \n */
- X
- Xchar *
- Xfixline(s,pnt)
- Xchar *s;
- Xregister char *pnt;
- X {
- X while (*--pnt == ' ' && pnt > s);
- X *++pnt = '\n';
- X return(++pnt);
- X }
- X
- X/* change spaces to tabs */
- X
- Xstatic char *
- Xto_tabs(pos,in,out)
- Xregister int pos; /* starting col # */
- Xregister char *in; /* input str */
- Xregister char *out; /* output str - tabs */
- X {
- X char *s = out; /* start of out str */
- X register char c; /* current input char */
- X register int spaces = 0; /* # pending spaces */
- X
- X#ifdef DEBUG
- X dprintf(C)(stderr,"-> TABS");
- X#endif
- X while(pos++,c = *in++) {
- X
- X if (c=='\n' || c=='\r' || c=='\f') /* reset column counter */
- X pos =0;
- X
- X if (c == ' ') {
- X spaces++;
- X if (pos && pos%8 == 0) { /* ' ' -> \t */
- X c = '\t';
- X#ifdef DEBUG
- X dprintf(C)(stderr,".");
- X#endif
- X spaces=0;
- X }
- X }
- X else for(;spaces>0;spaces--) { /* output spaces */
- X *out++ = ' ';
- X }
- X
- X if (spaces == 0)
- X *out++ = c;
- X }
- X *out = '\0';
- X#ifdef DEBUG
- X dprintf(C)(stderr,"\n");
- X#endif
- X return(s);
- X }
- X
- X/* can't cut, ring bell */
- X
- Xstatic int
- Xoops()
- X {
- X register WINDOW *win = active;
- X
- X CLEAR(W(window),BIT_NOT(BIT_DST));
- X write(2,"\007",1);
- X CLEAR(W(window),BIT_NOT(BIT_DST));
- X }
- END_OF_FILE
- # end of 'src/cut.c'
- fi
- if test -f 'src/win_stack.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/win_stack.c'\"
- else
- echo shar: Extracting \"'src/win_stack.c'\" \(10948 characters\)
- sed "s/^X//" >'src/win_stack.c' <<'END_OF_FILE'
- X/* Copyright (c) 1987 Bellcore
- X * All Rights Reserved
- X * Permission is granted to copy or use this program, EXCEPT that it
- X * may not be sold for profit, the copyright notice must be reproduced
- X * on copies, and credit should be given to Bellcore where it is due.
- X * BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM.
- X */
- X/* $Header: win_stack.c,v 4.2 88/07/20 10:22:55 sau Exp $
- X $Source: /tmp/mgrsrc/src/RCS/win_stack.c,v $
- X*/
- Xstatic char RCSid_[] = "$Source: /tmp/mgrsrc/src/RCS/win_stack.c,v $$Revision: 4.2 $";
- X
- X/* push - pop window environment */
- X
- X#include "bitmap.h"
- X#include "font.h"
- X#include "defs.h"
- X#include "window.h"
- X#include "menu.h"
- X#include "event.h"
- X#include <stdio.h>
- X
- X#define S(x) (stack->x)
- X
- X/* push a window on the environment stack */
- X
- Xint
- Xwin_push(win,level)
- Xregister WINDOW *win; /* window to push */
- Xint level; /* what things to push */
- X {
- X register WINDOW *stack; /* pushed window goes here */
- X register int i,j;
- X char *malloc(), *save_line(), *print_stack();
- X struct menu_state *menu_copy();
- X
- X if ((stack = (WINDOW *) malloc(sizeof(WINDOW))) == (WINDOW *) 0)
- X return(-1);
- X
- X if (level == 0)
- X level = P_DEFAULT;
- X
- X#ifdef DEBUG
- X dprintf(P)(stderr,"%s Stacking %s\n",
- X W(tty),print_stack(level));
- X#endif
- X
- X /* setup stacked window */
- X
- X *stack = *win; /* structure assignment */
- X W(stack) = stack;
- X
- X /* bcopy(win,stack,sizeof(WINDOW)); */
- X
- X for(j=0;j<MAXMENU;j++)
- X S(menus)[j] = (struct menu_state *) 0;
- X for(j=0;j<MAXEVENTS;j++)
- X S(events)[j] = (char *) 0;
- X for(j=0;j<MAXBITMAPS;j++)
- X S(bitmaps)[j] = (BITMAP *) 0;
- X S(save) = (BITMAP *) 0;
- X S(clip_list) = (char *) 0;
- X
- X /* setup each pushed item */
- X
- X for(i=1;i!=P_MAX;i <<= 1)
- X switch (level&i) {
- X case P_MENU: /* save the menus */
- X#ifdef DEBUG
- X dprintf(P)(stderr," menus ");
- X#endif
- X for(j=0;j<MAXMENU;j++)
- X if (W(menus)[j] && (level&P_CLEAR)) {
- X S(menus)[j] = W(menus)[j];
- X W(menus)[j] = (struct menu_state *) 0;
- X#ifdef DEBUG
- X dprintf(P)(stderr,"%d ",j);
- X#endif
- X }
- X else if (W(menus)[j]) {
- X S(menus)[j] = menu_copy(W(menus)[j]);
- X#ifdef DEBUG
- X dprintf(P)(stderr,"%d ",j);
- X#endif
- X }
- X#ifdef DEBUG
- X dprintf(P)(stderr,"\n");
- X#endif
- X break;
- X case P_EVENT: /* save the events */
- X
- X#ifdef DEBUG
- X dprintf(P)(stderr," events ");
- X#endif
- X if (IS_EVENT(win,EVENT_STACK))
- X EVENT_SET_MASK(win,EVENT_STFLAG);
- X
- X if (level&P_CLEAR)
- X W(event_mask) = IS_EVENT(win,EVENT_STFLAG);
- X else
- X EVENT_CLEAR_MASK(win,EVENT_STACK);
- X
- X for(j=0;j<MAXEVENTS;j++)
- X if (W(events)[j] && (level&P_CLEAR)) {
- X S(events)[j] = W(events)[j];
- X W(events)[j] = (char *) 0;
- X#ifdef DEBUG
- X dprintf(P)(stderr,"%d ",j);
- X#endif
- X }
- X else if (W(events)[j]) {
- X S(events)[j] = save_line(W(events)[j]);
- X#ifdef DEBUG
- X dprintf(P)(stderr,"%d ",j);
- X#endif
- X }
- X#ifdef DEBUG
- X dprintf(P)(stderr,"\n");
- X
- X#endif
- X break;
- X case P_BITMAP: /* save the bitmaps */
- X#ifdef DEBUG
- X dprintf(P)(stderr," bitmaps ");
- X#endif
- X for(j=0;j<MAXBITMAPS;j++)
- X if (W(bitmaps)[j] && level&P_CLEAR) {
- X S(bitmaps)[j] = W(bitmaps)[j];
- X W(bitmaps)[j] = (BITMAP *) 0;
- X#ifdef DEBUG
- X dprintf(P)(stderr,"%d ",j);
- X#endif
- X }
- X else if (W(bitmaps)[j]) {
- X S(bitmaps)[j] = bit_alloc(BIT_WIDE(W(bitmaps)[j]),
- X BIT_HIGH(W(bitmaps)[j]),NULL_DATA,
- X BIT_DEPTH(W(bitmaps)[j]));
- X bit_blit(S(bitmaps)[j],0,0,BIT_WIDE(W(bitmaps)[j]),
- X BIT_HIGH(W(bitmaps)[j]),BIT_SRC,W(bitmaps)[j],0,0);
- X#ifdef DEBUG
- X dprintf(P)(stderr,"%d ",j);
- X#endif
- X }
- X#ifdef DEBUG
- X dprintf(P)(stderr,"\n");
- X#endif
- X break;
- X case P_WINDOW: /* save the bit image */
- X#ifdef DEBUG
- X dprintf(P)(stderr," window\n");
- X#endif
- X S(save) = bit_alloc(BIT_WIDE(W(border)),BIT_HIGH(W(border)),
- X NULL_DATA,DEPTH);
- X if (W(save) && !(W(flags)&W_ACTIVE))
- X bit_blit(S(save),0,0,BIT_WIDE(W(save)),BIT_HIGH(W(save)),
- X BIT_SRC,W(save),0,0);
- X else
- X bit_blit(S(save),0,0,BIT_WIDE(W(border)),BIT_HIGH(W(border)),
- X BIT_SRC,W(border),0,0);
- X break;
- X case P_POSITION: /* save the window position */
- X#ifdef DEBUG
- X dprintf(P)(stderr," position\n");
- X#endif
- X S(esc)[1] = BIT_WIDE(W(border));
- X S(esc)[2] = BIT_HIGH(W(border));
- X break;
- X case P_TEXT: /* save text region */
- X if (level&P_CLEAR) {
- X W(text).x = 0;
- X W(text).y = 0;
- X W(text).wide = 0;
- X W(text).high = 0;
- X }
- X break;
- X case P_MOUSE: /* save mouse position */
- X#ifdef DEBUG
- X dprintf(P)(stderr," mouse\n");
- X#endif
- X S(esc)[3] = mousex;
- X S(esc)[4] = mousey;
- X break;
- X case P_FLAGS: /* save window flags */
- X if (level&P_CLEAR) {
- X W(flags) &= ~W_SAVE;
- X W(flags) |= W_BACKGROUND;
- X W(style) = NOCOLOR&BIT_SRC | GETCOLOR(BLACK);
- X W(background) = NOCOLOR&W(background) | GETCOLOR(WHITE);
- X if (win == active)
- X border(win,SUM_BDR-1,1);
- X else
- X border(win,BLK_BDR,WH_BDR);
- X }
- X break;
- X }
- X
- X S(code) = level;
- X S(window) = (BITMAP *) 0;
- X S(border) = (BITMAP *) 0;
- X S(snarf) = (char *) 0;
- X S(bitmap) = (BITMAP *) 0;
- X return(level);
- X }
- X
- X/* pop the window stack */
- X
- Xint
- Xwin_pop(win)
- XWINDOW *win; /* window to pop to */
- X {
- X register int i,j;
- X register WINDOW *stack = W(stack); /* window to pop from */
- X char *print_stack();
- X
- X if (stack == (WINDOW *) 0) {
- X#ifdef DEBUG
- X dprintf(P)(stderr," No environment to pop\n");
- X#endif
- X return(-1);
- X }
- X
- X#ifdef DEBUG
- X dprintf(P)(stderr,"%s popping %s\n",W(tty),print_stack(S(code)));
- X#endif
- X
- X /* pop each item stacked */
- X
- X for(i=1;i!=P_MAX;i <<= 1)
- X switch (S(code)&i) {
- X case P_MENU: /* restore the menus */
- X#ifdef DEBUG
- X dprintf(P)(stderr," menus ");
- X#endif
- X W(menu[0]) = S(menu[0]);
- X W(menu[1]) = S(menu[1]);
- X for(j=0;j<MAXMENU;j++) {
- X if (W(menus)[j]) {
- X#ifdef DEBUG
- X dprintf(P)(stderr,"d(%d) ",j);
- X#endif
- X menu_destroy(W(menus)[j]);
- X }
- X if (S(menus)[j]) {
- X#ifdef DEBUG
- X dprintf(P)(stderr,"r(%d) ",j);
- X#endif
- X W(menus)[j] = S(menus)[j];
- X S(menus)[j] = (struct menu_state *) 0;
- X }
- X else
- X W(menus)[j] = (struct menu_state *) 0;
- X }
- X#ifdef DEBUG
- X dprintf(P)(stderr,"\n");
- X#endif
- X break;
- X case P_EVENT: /* restore the events */
- X
- X#ifdef DEBUG
- X dprintf(P)(stderr," events ");
- X#endif
- X for(j=0;j<MAXEVENTS;j++) {
- X if (W(events)[j]) {
- X#ifdef DEBUG
- X dprintf(P)(stderr,"d(%d) ",j);
- X#endif
- X free(W(events)[j]);
- X }
- X W(events)[j] = S(events)[j];
- X S(events)[j] = (char *) 0;
- X }
- X W(event_mask) = S(event_mask);
- X#ifdef DEBUG
- X dprintf(P)(stderr,"\n");
- X#endif
- X break;
- X case P_CURSOR: /* restore the cursor position */
- X W(x) = S(x);
- X W(y) = S(y);
- X W(gx) = S(gx);
- X W(gy) = S(gy);
- X break;
- X case P_BITMAP: /* restore the bitmaps */
- X for(j=0;j<MAXBITMAPS;j++) {
- X if (W(bitmaps)[j])
- X bit_destroy(W(bitmaps)[j]);
- X W(bitmaps)[j] = S(bitmaps)[j];
- X S(bitmaps)[j] = (BITMAP *) 0;
- X }
- X#ifdef DEBUG
- X dprintf(P)(stderr," bitmaps\n");
- X#endif
- X break;
- X case P_FONT: /* restore font */
- X W(font) = S(font);
- X break;
- X case P_TEXT: /* restore text region */
- X W(text) = S(text);
- X break;
- X case P_POSITION: /* restore the window position */
- X if (win!= active)
- X cursor_off();
- X ACTIVE_OFF();
- X expose(win);
- X
- X shape(S(x0),S(y0),S(esc)[1],S(esc)[2]);
- X
- X ACTIVE_ON();
- X#ifdef DEBUG
- X dprintf(P)(stderr," position\n");
- X#endif
- X break;
- X case P_WINDOW: /* restore the window contents */
- X if (W(save))
- X bit_destroy(W(save));
- X W(save) = bit_alloc(BIT_WIDE(W(border)),BIT_HIGH(W(border)),
- X NULL_DATA,DEPTH);
- X bit_blit(W(border),0,0,BIT_WIDE(S(save)),BIT_HIGH(S(save)),
- X BIT_SRC,S(save),0,0);
- X#ifdef DEBUG
- X dprintf(P)(stderr," window\n");
- X#endif
- X break;
- X case P_FLAGS: /* restore the window flags */
- X W(op) = S(op);
- X W(style) = S(style);
- X W(background) = S(background);
- X W(dup) = S(dup);
- X W(flags) = (S(flags)&W_SAVE) | (W(flags)&(~W_SAVE));
- X if (win == active)
- X border(win,SUM_BDR-1,1);
- X else
- X border(win,BLK_BDR,WH_BDR);
- X#ifdef DEBUG
- X dprintf(P)(stderr," flags\n");
- X#endif
- X break;
- X case P_MOUSE: /* save mouse position */
- X#ifdef DEBUG
- X dprintf(P)(stderr," mouse\n");
- X#endif
- X mousex =S(esc)[3] ;
- X mousey =S(esc)[4] ;
- X break;
- X }
- X#ifdef DEBUG
- X dprintf(P)(stderr,"%s\n",S(stack)?"another stack":"no environments stacked");
- X#endif
- X W(stack) = S(stack);
- X unlink_win(stack,0);
- X
- X return(0);
- X }
- X
- X/* in-implemented window stack manipulation */
- X
- Xwin_swap(win,x,y)
- XWINDOW *win;
- Xint x,y; /* entries on stack to swap 1=1st stack entry */
- X {
- X register int i,j;
- X WINDOW *winx, *winy;
- X }
- END_OF_FILE
- # end of 'src/win_stack.c'
- fi
- echo shar: End of archive 33 \(of 61\).
- cp /dev/null ark33isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
- 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 \
- 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 \
- 55 56 57 58 59 60 61 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 61 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-